//
//  main.m
//  04_Work
//
//  Created by dllo on 16/7/7.
//  Copyright © 2016年 yh. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
    //        处理⽂件crayons.txt中的⽂本信息，⽂本内容是关于颜⾊的，每⾏都是⼀ 个颜⾊的信息，例如：Almond #EED9C4，前⼀个字符串是颜⾊的名称，后⼀ 个字符串是颜⾊的16进制⾊值，处理⽂本完成如下需求:
    //
    //        使⽤字典管理所有的颜⾊，即字典中存储的是多个键值对，颜⾊名称为 key，16进制颜⾊值（不带#）是value。
    //        使⽤⼀个新的字典管理颜⾊，对颜⾊进⾏分类管理，即：“A”，“B”，“C”… 即这个字典包含多个键值对，key是26个字⺟，value是数组，数组⾥存放的是 Color对象（包含name和colorValue）。需要⾃⼰创建Color类。

        NSString * dataString = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/Homework-04/crayons.txt" encoding:NSUTF8StringEncoding error:nil];
        // 根据回车截取字符串 将字符串放到数组中
        NSArray *allColorArray = [dataString componentsSeparatedByString:@"\n"];
        NSMutableArray *coArr = [NSMutableArray array];
        NSMutableArray *nuArr = [NSMutableArray array];
        for (NSInteger i = 0; i < allColorArray.count; i++) {
            [coArr addObject:[allColorArray[i] substringWithRange:NSMakeRange(1, 3)]];
        }
        NSLog(@"%@", coArr);
        NSMutableArray *everyColorArr = [NSMutableArray array];
        NSMutableArray *allArr = [NSMutableArray array];
        // 通过一个两层的循环和字符串的截取 将颜色和十六进制数分开 放到一个数组中
        for (NSInteger i = 0; i < allColorArray.count; i++) {
            for (NSInteger j = 0; j < 2; j++) {
                [everyColorArr addObject:[allColorArray[i] componentsSeparatedByString:@"#"]];
                [allArr addObject:everyColorArr[i][j]];
            }
        }
        
        NSMutableArray *colorArr = [NSMutableArray array];
        NSMutableArray *numArr = [NSMutableArray array];
        // 通过循环 将颜色和十六进制数分别放到两个不同的数组
        for (NSInteger i = 0; i < allArr.count; i++) {
            if (i % 2 == 0) {
                [colorArr addObject: allArr[i]];
            } else {
                [numArr addObject: allArr[i]];
            }
        }
        // 通过循环 将颜色设为key 将十六进制数设为value
        NSMutableDictionary *colorDic = [NSMutableDictionary dictionary];
        for (NSInteger i = 0; i < colorArr.count; i++) {
            [colorDic setObject:numArr[i] forKey:colorArr[i]];
        }
        NSLog(@"%@", colorDic);
        // colorArr中存放了 所有的key值
        // numArr中存放了 所有的十六进制数 value
//        NSMutableArray *sameArr = [NSMutableArray array];
//        for (NSInteger i = 0; i < colorArr.count; i++) {
//            for (NSInteger j = 0; j < colorArr.count; j++) {
//                if ([[colorArr[i] characterAtIndex:0] isEqualToString: [colorArr[j] characterAtIndex:0]]) {
//                    [sameArr addObject:colorArr[i]];
//                    [sameArr addObject:colorArr[j]];
//                }
//
//            }
//        }
//        
//        NSLog(@"%@", sameArr);
//        
//
        NSMutableArray *charArr = [NSMutableArray array];
        for (NSInteger i = 0; i < colorArr.count; i++) {
            [charArr addObject:[colorArr[i] substringToIndex:1]];
        }
        NSLog(@"%@", charArr);
        NSLog(@"%@", colorArr);
        NSLog(@"%@", numArr);
        NSLog(@"%@", everyColorArr);
        NSLog(@"%@", allColorArray);
        NSLog(@"%@", allColorArray[0]);

        
        
    }
    return 0;
}
